package com.example;

import org.greenrobot.greendao.generator.DaoGenerator;
import org.greenrobot.greendao.generator.Entity;
import org.greenrobot.greendao.generator.Schema;

public class MyClass {
    public static void main(String[] args) throws Exception{
        //自动生成的数据库版本号，和生成代码的包路径
        Schema schema = new Schema(5,"com.asion.qkan.db");
//        当然，如果你愿意，你也可以分别指定生成的 Bean 与 DAO 类所在的目录，只要如下所示：
//      Schema schema = new Schema(1, "me.itangqi.bean");
//      schema.setDefaultJavaPackageDao("me.itangqi.dao");

        // 模式（Schema）同时也拥有两个默认的 flags，分别用来标示 entity 是否是 activie 以及是否使用 keep sections。
        // schema2.enableActiveEntitiesByDefault();
        // schema2.enableKeepSectionsByDefault();

        // 一旦你拥有了一个 Schema 对象后，你便可以使用它添加实体（Entities）了。
        schema.enableKeepSectionsByDefault();//通过次Schema对象添加的所有实体都不会覆盖自定义的代码

        addMusic(schema);

        addCartoon(schema);


        // 最后我们将使用 DAOGenerator 类的 generateAll() 方法自动生成代码，此处你需要根据自己的情况更改输出目录（既之前创建的 java-gen)。
        // 其实，输出目录的路径可以在 build.gradle 中设置，有兴趣的朋友可以自行搜索，这里就不再详解。
//        /home/gino/AndroidStudioProjects/QKan/app/src/main/java
//        /home/asion/AndroidStudioProjects/QKan/app/src/main/java
        new DaoGenerator().generateAll(schema, "/home/gino/AndroidStudioProjects/QKan/app/src/main/java");
    }

    public static void addMusic(Schema schema){
        Entity musics = schema.addEntity("Music");
        musics.addIdProperty();
        musics.addStringProperty("title").notNull();
        musics.addStringProperty("name").notNull();
        musics.addIntProperty("time").notNull();
        musics.addStringProperty("mp3url").notNull();
        musics.addStringProperty("picurl");
    }

    public static void addCartoon(Schema schema){
        Entity cartoon = schema.addEntity("Cartoon");
        cartoon.addIdProperty();
        cartoon.addStringProperty("title").notNull();
        cartoon.addStringProperty("author").notNull();
        cartoon.addStringProperty("image").notNull();
    }

}
